package com.sojson.entity.po;

import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 券可用商品Bean
 * 
 * @author liu
 * @date 2021-06-07
 */
@ApiModel("券可用商品Bean")
public class CouponGetMethod extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1623056650386L;

    @ApiModelProperty("领取方式(1:模块页面领取,2:店铺页面领取,3:商品详情页面领取)")
    private Integer scopeType;
    @ApiModelProperty("券编号")
    private String couponNo;
    @ApiModelProperty("范围名称")
    private String scopeName;
    @ApiModelProperty("范围编号")
    private String scopeNo;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("ID集合")
    private List<Integer> ids;
    @ApiModelProperty("范围编号集合")
    private List<CouponGetMethod> scopeNos;
    /** 券可用商品集合 */
    private List<CouponGetMethod> couponGetMethods;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public CouponGetMethod() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 领取方式(1:模块页面领取,2:店铺页面领取,3:商品详情页面领取)
     */
    public Integer getScopeType() {
        return scopeType;
    }

    /**
     * 设置 领取方式(1:模块页面领取,2:店铺页面领取,3:商品详情页面领取)
     */
    public void setScopeType(Integer scopeType) {
        this.scopeType = scopeType;
    }

    /**
     * 获取 券编号
     */
    public String getCouponNo() {
        return couponNo;
    }

    /**
     * 设置 券编号
     */
    public void setCouponNo(String couponNo) {
        this.couponNo = couponNo;
    }

    /**
     * 获取 范围名称
     */
    public String getScopeName() {
        return scopeName;
    }

    /**
     * 设置 范围名称
     */
    public void setScopeName(String scopeName) {
        this.scopeName = scopeName;
    }

    /**
     * 获取 范围编号
     */
    public String getScopeNo() {
        return scopeNo;
    }

    /**
     * 设置 范围编号
     */
    public void setScopeNo(String scopeNo) {
        this.scopeNo = scopeNo;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 ID集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 ID集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取范围编号集合
     * 
     * @return
     */
    public List<CouponGetMethod> getScopeNos() {
        return scopeNos;
    }

    /**
     * 设置范围编号集合
     * 
     * @param scopeNos
     */
    public void setScopeNos(List<CouponGetMethod> scopeNos) {
        this.scopeNos = scopeNos;
    }

    /**
     * 获取 券可用商品集合
     */
    public List<CouponGetMethod> getCouponGetMethods() {
        return couponGetMethods;
    }

    /**
     * 设置 券可用商品集合
     */
    public void setCouponGetMethods(List<CouponGetMethod> couponGetMethods) {
        this.couponGetMethods = couponGetMethods;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 插入初始化
     */
    public void insertInit(Coupon coupon) {
        setScopeNos(coupon.getScopeNos());
        setCouponNo(coupon.getNo());
        setCreatedAt(coupon.getCreatedAt());
        setUpdatedAt(coupon.getUpdatedAt());
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setCouponNo(null);
    }

}